Imports System.Runtime.Serialization


''' <summary>
''' The Phoenix application exception.
''' </summary>
Public Class PhoenixException : Inherits ApplicationException
#Region " Constructors & Destructors "
    ''' <summary>
    ''' Initializes a new instance of the PhoenixException class.
    ''' </summary>
    Public Sub New()

    End Sub

    ''' <summary>
    ''' Initializes a new instance of the PhoenixException class with a specified error message.
    ''' </summary>
    ''' <param name="message">The error message that explains the reason for the exception.</param>
    Public Sub New(ByVal message As String)
        MyBase.New(message)
    End Sub

    ''' <summary>
    ''' Initializes a new instance of the PhoenixException class 
    ''' with a specified error message and a reference to the inner exception 
    ''' that is the cause of this exception.
    ''' </summary>
    ''' <param name="message">The error message that explains the reason for the exception.</param>
    ''' <param name="innerException">The exception that is the cause of the current exception. 
    ''' If the <i>innerException</i> parameter is not a Nothing reference, 
    ''' the current exception is raised in a <bCatch></b> block that handles the inner exception.</param>
    Public Sub New(ByVal message As String, ByVal innerException As Exception)
        MyBase.New(message, innerException)
    End Sub


    ''' <summary>
    ''' Initializes a new instance of the PhoenixException class with serialized data.
    ''' </summary>
    ''' <param name="info">The object that holds the serialized object data.</param>
    ''' <param name="context">The contextual information about the source or destination.</param>
    Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)
        MyBase.New(info, context)
    End Sub


#End Region
End Class


Public Class CancelOperationException : Inherits PhoenixException

    Public Sub New()
    End Sub

    Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)
        MyBase.New(info, context)
    End Sub

End Class